﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;

namespace Anagramme.Views
{
    /// <summary>
    /// Activité de vue
    /// </summary>
    public class ViewActivity : CodeActivity
    {
        /// <summary>
        /// Obtient ou définit la vue associée à l'activitée
        /// </summary>
        public InArgument<string> View { get; set; }

        /// <summary>
        /// Lors de l'implémentation dans une classe dérivée, exécute l'activité.
        /// </summary>
        /// <param name="context">Contexte d'exécution sous lequel l'activité s'exécute.</param>
        protected override void Execute(CodeActivityContext context)
        {
            if (object.ReferenceEquals(context, null))
            {
                throw new ArgumentNullException("context");
            }
            context.Track(new ViewTrackingRecord(View.Get(context)));
        }
    }
}
